package com.dragon.logical.service.contract;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.repository.entity.AddPageData;
import com.dragon.repository.entity.OtherFile;
import com.dragon.repository.entity.Produce;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;


/**
 * <p>
 * 生产表 服务类
 * </p>
 *
 * @author sy
 * @since 2023-06-25
 */
public interface ProduceService extends IService<Produce> {

    Page<Produce> listProduce(String search, Integer page, Integer limit, Integer type, Integer status,
                              String customerName, Integer businessAdminId,String startTime, String endTime);

    void addProduce(Produce convert);

    void updateProduce(Produce produce);

    void deleteProduce(List<Integer> ids);

    List<Produce> selectListContractId(Integer id);

    Produce selectProduceById(Integer id);

    /**
     * 修改生产状态
     * @param id id
     * @param type 状态
     */
    void changeProduceType(Integer id, Integer type);

    void generateData(Produce produce);

    Map<String, Object> newProduceNum(HttpServletRequest request, Integer adminId);

    String getAddress(Integer produceId);

    /**
     * 生产统计信息
     * @return
     */
    Map<String, Object> statistics();

    Produce selectProduceByContractId(Integer contractId);

    List<OtherFile> getContractOtherFileByProduceId(Integer produceId);
}
